package com.rzdata.poct.system.domain.business.bo;

import com.rzdata.poct.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * POCT检测结果业务对象 poct_detection_result
 *
 * @author ruoyi
 * @date 2021-09-09
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("POCT检测结果业务对象")
public class PoctDetectionResultBo extends BaseEntity {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 检验项目ID
     */
    @ApiModelProperty(value = "检验项目ID")
    private Long projectId;

    /**
     * 检验项目名称
     */
    @ApiModelProperty(value = "检验项目名称")
    private String projectName;

    /**
     * 检验时间
     */
    @ApiModelProperty(value = "检验时间")
    private Date detectionTime;

    /**
     * 患者姓名
     */
    @NotBlank(message = "患者姓名不能为空")
    @Size(min = 0, max = 20, message = "患者姓名长度不能超过20个字符")
    @ApiModelProperty(value = "患者姓名")
    private String patientName;

    /**
     * 患者性别
     */
    @ApiModelProperty(value = "患者性别")
    private String gender;

    /**
     * 年纪
     */
    @ApiModelProperty(value = "年纪")
    private String age;

    /**
     * 生日
     */
    @ApiModelProperty(value = "生日")
    private String birthday;

    /**
     * 病例号
     */
    @ApiModelProperty(value = "病例号")
    private String caseNumber;

    /**
     * 主治医生
     */
    @NotBlank(message = "主治医生不能为空")
    @Size(min = 0, max = 20, message = "主治医生长度不能超过20个字符")
    @ApiModelProperty(value = "主治医生")
    private String attendingDoctor;

    /**
     * 主治医生岗位
     */
    @ApiModelProperty(value = "主治医生岗位")
    private String doctorPost;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private String detectionSample;

    /**
     * 科室ID
     */
    @ApiModelProperty(value = "科室ID")
    private Long deptId;

    /**
     * 科室名称
     */
    @ApiModelProperty(value = "科室名称")
    private String deptName;

    /**
     * 样本编号
     */
    @ApiModelProperty(value = "样本编号")
    private String specimenNo;

    /**
     * 检验仪器名称
     */
    @ApiModelProperty(value = "检验仪器名称")
    private String instrumentName;

    /**
     * 检验仪器编号
     */
    @ApiModelProperty(value = "检验仪器编号")
    private String instrumentNo;

    /**
     * 检验员
     */
    @ApiModelProperty(value = "检验员")
    private String inspector;

    /**
     * 诊断结果
     */
    @ApiModelProperty(value = "诊断结果")
    private String diagnostic;

    /**
     * 标本种类
     */
    @ApiModelProperty(value = "标本种类")
    private Long type;

    /**
     * 医生建议
     */
    @ApiModelProperty(value = "医生建议")
    private String doctorsAdvice;

    /**
     * 检查结果
     */
    @ApiModelProperty(value = "检查结果")
    private String result;

    /**
     * 报告时间
     */
    @ApiModelProperty(value = "报告时间")
    private Date reportTime;

    /**
     * 样本时间
     */
    @ApiModelProperty(value = "样本时间")
    private Date samplingTime;

    /**
     * 接收时间
     */
    @ApiModelProperty(value = "接收时间")
    private Date receiveTime;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private Date patientTime;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private String patientCreator;

    /**
     * 检验编号
     */
    @ApiModelProperty("检验编号")
    private String detectionNo;

    @ApiModelProperty("结果状态：0 未生成，1已生成")
    private String status;

    @ApiModelProperty("检验结果值")
    private String detectionValue;
    /**
     * 分页大小
     */
    @ApiModelProperty("分页大小")
    private Integer pageSize;

    /**
     * 当前页数
     */
    @ApiModelProperty("当前页数")
    private Integer pageNum;

    /**
     * 排序列
     */
    @ApiModelProperty("排序列")
    private String orderByColumn;

    /**
     * 排序的方向desc或者asc
     */
    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
    private String isAsc;

}
